package com.bmps.springcloud.insuredmicroservice.service.calculate;


import com.bmps.springcloud.insuredmicroservice.model.accept.medium.PolicyRiskInfoModel;
import com.bmps.springcloud.insuredmicroservice.model.underwrite.InsuranceRiskAmountModel;

import java.math.BigDecimal;
import java.util.List;

/**
 * description:
 *
 * @author jackdaw
 * @date 2020-04-15 15:38
 */
public interface InsuranceRiskAmountService {
    /**
     * 计算风险保额
     *
     * @param riskSort     风险保额分类
     * @param riskInfoList 保单险种信息
     * @param isCurrent    true-当前保单 false=历史单
     * @return 累计风险保额
     */
    BigDecimal sumInsuranceRiskAmount(String riskSort, List<PolicyRiskInfoModel> riskInfoList, boolean isCurrent);

    /**
     * 计算嘉运产品保额
     *
     * @param riskInfoList 保单险种信息
     * @return 累计风险保额
     */
    BigDecimal sumAat053InsuranceAmount(List<PolicyRiskInfoModel> riskInfoList);

    /**
     * 计算豁免责任险种投保人意外险保额
     * 豁免责任险种保额 （保费*未缴费年限）/3
     *
     * @param riskInfoList 保单险种信息
     * @param isCurrent    true-当前保单 false=历史单
     * @return 累计风险保额
     */
    BigDecimal sumExemptDutyAccidentInsuranceAmount(List<PolicyRiskInfoModel> riskInfoList, boolean isCurrent);
}
